package cn.zaichi.edu.excelcommon.utils;

import cn.zaichi.edu.excelcommon.error.ConvertExceptionEnum;
import cn.zaichi.edu.excelcommon.exception.ConvertException;
import org.apache.commons.lang3.StringUtils;

public class ConvertUtil {
    /**
     * 获取 单元格映射字段值
     * @param type
     * @param cellValue
     * @param format
     * @return
     */
    public static Object getValue(String type,String cellValue,String format){
        try {
            if(StringUtils.isBlank(cellValue)){
                return null;
            }
            if (type.equals("java.lang.String")) {
                if(StringUtils.isNotEmpty(format)){
                    return DateFormatUtil.LocalDateToString(cellValue,format);
                }
                return cellValue;
            }
            if (type.equals("java.lang.Integer")) {
                return Integer.parseInt(cellValue);
            }
            if (type.equals("java.lang.Double")) {
                return Double.parseDouble(cellValue);
            }

            if (type.equals("java.time.LocalDate")) {
                return DateFormatUtil.StringToLocalDate(cellValue);
            }
            if (type.equals("java.time.LocalDateTime")) {
                return DateFormatUtil.StringToLocalDateTime(cellValue);
            }

        }catch (Exception ex){
            throw new ConvertException(ConvertExceptionEnum.CONVERT_TYPE_ERROR);
        }
        return null;
    }
}
